/**
 * 将下面异步代码使用Promise的方式改进
 */

setTimeout(function () {
  var a = 'hello'
  setTimeout(function () {
    var b = 'lagou'
    setTimeout(function () {
      var c = 'I ❤️ U'
      console.log(a + b + c)
    }, 10)
  }, 10)
}, 10)

// 使用promise改进
function fn(value) {
  const promise = new Promise(resolve => {
    setTimeout(() => {
      resolve(value)
    }, 10)
  })
  return promise;
}

fn().then(function () {
  return fn("hello")
}).then(res => {
  return fn(res + "lagou")
}).then(res => {
  return fn(res + "I ❤️ U")
}).then(res => {
  console.log(res)
})